java OpenOffice将上传的Word文档转换成Html格式 |
您所在的位置:网站首页 › java doc转html › java OpenOffice将上传的Word文档转换成Html格式 |
提供一篇java OpenOffice将上传的Word文档转换成Html格式 ,有需要的朋友参考一下。 为什么会想起来将上传的word文档转换成html格式呢?设想,如果一个系统需要发布在页面的文章都是来自word文档,一般会执行下面的流程:使用word打开文档,Ctrl A,进入发布文章页面,Ctrl V。看起来也不麻烦,但是,如果文档中包含大量图片呢?尴尬的事是图片都需要重新上传吧? 如果可以将已经编写好的word文档上传到服务器就可以在相应页面进行展示,将会是一件非常惬意的事情,最起码信息发布人员会很开心。程序员可能就不会这么想了,?濉?/p> 将Word转Html的原理是这样的: 1、客户上传Word文档到服务器 2、服务器调用OpenOffice程序打开上传的Word文档 3、OpenOffice将Word文档另存为Html格式 4、Over 至此可见,这要求服务器端安装OpenOffice软件,其实也可以是MS Office,不过OpenOffice的优势是跨平台,你懂的。恩,说明一下,本文的测试基于 MS Win7 Ultimate X64 系统。 下面就是规规矩矩的实现。 1、下载OpenOffice,http://download.openoffice.org/index.html So easy... 2、下载Jodconverter http://www.artofsolving.com/opensource/jodconverter 这是一个开启OpenOffice进行格式转化的第三方jar包。 3、泡杯热茶,等待下载。 4、安装OpenOffice,安装结束后,调用cmd,启动OpenOffice的一项服务:C:Program Files (x86)OpenOffice.org 3program>soffice -headless -accept="socket,port=8100;urp;" 5、打开eclicatch (ConnectException e) { System.out.println("获取OpenOffice连接失败..."); e.printStackTrace(); } // 创建转换器 DocumentConverter converter = new OpenOfficeDocumentConverter(con); // 转换文档问html converter.convert(docFile, htmlFile); // 关闭openoffice连接 con.disconnect(); return htmlFile; } /** * 将word转换成html文件,并且获取html文件代码。 * * @param docFile * 需要转换的文档 * @param filepath * 文档中图片的保存位置 * @return 转换成功的html代码 */ public static String toHtmlString(File docFile, String filepath) { // 转换word文档 File htmlFile = convert(docFile, filepath); // 获取html文件流 StringBuffer htmlSb = new StringBuffer(); try { BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(htmlFile))); while (br.ready()) { htmlSb.append(br.readLine()); } br.close(); // 删除临时文件 htmlFile.delete(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // HTML文件字符串 String htmlStr = htmlSb.toString(); // 返回经过清洁的html文本 return clearFormat(htmlStr, filepath); } /** * 清除一些不需要的html标记 * * @param htmlStr * 带有复杂html标记的html语句 * @return 去除了不需要html标记的语句 */ protected static String clearFormat(String htmlStr, String docImgPath) { // 获取body内容的正则 String bodyReg = ".*?)()", // ".*?)()", "", ""); // 删除不需要的属性 htmlStr = htmlStr .replaceAll( "]*)(?:lang|LANG|class|CLASS|style|STYLE|size|SIZE|face|FACE|[ovwxpOVWXP]:\w )=(?:'[^']*'|""[^""]*""|[^>] )([^>]*)>", ""); return htmlStr; } } 您可能感兴趣的文章: java OpenOffice将上传的Word文档转换成Html格式 使用jQuery的将桌面应用程序引入浏览器 php读取word\pdf等文档内容保存到网页中 php导出word文件的简单例子 php 导出word文档的简单示例 php生成word最简单的例子 Java 实例 php生成excel或word文档的最简单方法 Java生成 Word文档的并打印解决方案 php生成word文档(读取数据库) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |